1. Field of the Invention
The present invention is related generally to a data processing system and in particular to a method and apparatus for the migration of a software partition. More particularly, the present invention is directed to a computer implemented method, apparatus, and computer usable program code for restarting a process with minimal checkpoint data for the process.
2. Description of the Related Art
In a software partitioned environment, a single instance of the operating system can be partitioned into multiple virtual operating system environments. Each of these virtual operating system environments is known as a software partition. A software partition is a virtualized operating system environment within a single instance of the operating system. An example of a software partition is AIX® workload partition (WPAR), which is a product available from International Business Machines (IBM®) Corporation.
Software running within each software partition will appear to have its own separate instance of the operating system. A software partition may include one or more processes. Processes in a software partition are completely isolated from processes in other software partitions in the same system. They are not allowed to interact with processes in other software partitions in the same system.
A software partition, including any processes running in the partition, may be migrated from one physical computing device to another physical computing device, while processes are still running in the software partition. Migration of a software partition involves checkpointing the state of every process in the partition on one data processing system and then restoring the state of every process on another data processing system using the checkpoint data.
However, checkpoint of application and system state is both a compute and data intensive task. As such, the amount of work needed for each application is highly dependent on the memory footprint and system data currently in use by the application at checkpoint time. The memory footprint is the amount of main memory space plus other memory required by a process during execution of the process. The size of the memory footprint depends on the size of the program that is executing. The larger the program, typically, the larger the memory footprint associated with the program. Moreover, the larger the memory footprint associated with the process that is being checkpointed, the more time is required to checkpoint and restart the process.